home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio 5 / Ray Dream.iso / pc / DreamSDK / Macintosh / Samples / gel / GEL / COMGEL.h < prev    next >
Encoding:
Text File  |  1997-07-09  |  2.2 KB  |  67 lines

  1. // Copyright (c)1995 Ray Dream, Inc. All Rights Reserved.
  2. /* $Id: COMGEL.h 1.2 1996/08/30 22:04:16 DAMIEN Exp $ */
  3.  
  4. ////////////////////////////////////////////////////////////////////////
  5. //   First Gel Example : Gel Light                                    //
  6. //--------------------------------------------------------------------//
  7. //   Declaration of the Gel Interface                                 //
  8. //////////////////////////////////////////////////////////////////////// 
  9.  
  10.  
  11. #ifndef __COMGEL__
  12. #define __COMGEL__  
  13.  
  14. #ifndef __I3DEXGEL__
  15. #include "I3DExGel.h"
  16. #endif
  17.                   
  18. // CLSID of Gel Light 
  19. // to put in the Registration Database \CLSID\{...} = RDD COM GelLight
  20. //                                            InprocServer = fullpathname to RDX file  
  21. // CEE32020-7BCA-101C-B801-04021C007002
  22. DEFINE_GUID(CLSID_GelLight, 0xCEE32020L, 0x7BCA, 0x101C, 0xB8, 0x01, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  23.                             
  24.  
  25. // Light Data structure                            
  26. typedef struct GelData {
  27.   short fNbBranches;  // Nb of branches of the star
  28.   } GelData;
  29.  
  30.  
  31. // Gel Light Object :
  32. #undef INTERFACE
  33. #define INTERFACE GelLight
  34. class GelLight : public I3DExLightsourceGel {
  35. public :  
  36.   GelLight();
  37.   ~GelLight();
  38.   
  39.   // IUnknown Interface :
  40.   STDMETHODIMP       QueryInterface(THIS_ REFIID riid, LPVOID* ppvObj);
  41.   STDMETHODIMP_(ULONG) AddRef(THIS);
  42.   STDMETHODIMP_(ULONG) Release(THIS);
  43.   
  44.   // I3DExtension method :
  45.   STDMETHODIMP_(I3DExtension*) Clone(THIS);
  46.   STDMETHODIMP                 ShellUtilitiesInit(THIS_ IShUtilities* shellUtilities);
  47.     
  48.   // I3DExDataExchanger methods :
  49.   STDMETHODIMP_(ExtensionDataMap*) GetExtensionDataMap(THIS);
  50.   STDMETHODIMP_(void*)            GetExtensionDataBuffer(THIS);
  51.   STDMETHODIMP                     ExtensionDataChanged(THIS);
  52.   STDMETHODIMP                     HandleEvent(THIS_ ULONG sourceID);
  53.   STDMETHODIMP_(short)            GetResID(THIS);
  54.   
  55.   // I3DExLightsourceGel methods
  56.   STDMETHODIMP_(BOOLEAN) GetGelValues(THIS_ VECTOR2D* getScreenPosition, COLOR3D* result);
  57.    
  58. private :
  59.   ULONG        fCRef;           // reference Counter
  60.   GelData      fData;           // Gel Data (see definition of GelData structure)
  61.   };
  62.                           
  63.  
  64.  
  65. #endif // __GELLIGHT__
  66.  
  67.